Page({

  /**
   * 页面的初始数据
   */
  data: {
    reviews:[],
    photos:[],
    info:[],
    date:[],
    order_id:[],
    Input:'',
    comment:[],
  },


  getReviews:function(){
  var that=this
  wx.request({
    url: 'http://hotel.ttt:3007/api/getReviews',
    method:'GET',
    success(res){
      let reviews = res.data.data.map(item => {
        return {
          ...item,         // 保留原对象的属性
          showCommentInput: false // 新增属性
        };
      });
      that.setData({
        reviews
      })
      let date=[]
      let order_id=[]
      that.data.reviews.forEach(e => {
        date.push(that.convertToChinaTime(e.review_date))
        order_id.push(e.order_id)
      })
      that.setData({
        date,order_id
      })
      console.log(res.data,date)
      for(var i=0;i<that.data.reviews.length;i++){
        that.getReviewImg(that.data.reviews[i].order_id)
        that.getuserinfo(that.data.reviews[i].user_id)
      }
      that.comment()
    }
  })
}, 
getReviewImg:function(order_id){
  var that =this
  wx.request({
    url: 'http://hotel.ttt:3007/api/getReviewImg',
    method:'post',
    data:{
      order_id:order_id
    },
    success:function(res){
      if (that.data.photos.length === 0) {
        that.setData({
          photos: [...that.data.photos, res.data.data]
        });
      } else {
        let orderExists = false;
        
        // 遍历 photos 数组，检查是否有相同的 order_id
        that.data.photos.forEach((r) => {
          //console.log('order_id', r[0].order_id, res.data.data[0].order_id);
          if (r[0].order_id === res.data.data[0].order_id) {
            orderExists = true; // 如果找到了相同的 order_id
          }
        });
    
        // 如果没有找到相同的 order_id，则将新数据添加到 photos 数组
        if (!orderExists) {
          that.setData({
            photos: [...that.data.photos, res.data.data]
          });
        }
      }
    
      //console.log(that.data.photos); // 输出更新后的 photos 数组
    
     /*  if(!isexists){
        that.setData({
          photos:[...that.data.photos,res.data.data]
        })
      } */
    },fail:function(err){
      console.log('222',err)
    }
  })
},
getuserinfo:function (user_id) { //获取用户表里的电话和姓名
  var that =this
  wx.request({
    url: `http://hotel.ttt:3007/api/getuserinfo/${user_id}`,
    method:'GET',
    success(res) {
      if(res.data.success){
        let exists = that.data.info.some(item => item[0].user_id=== res.data.data[0].user_id);
        if(!exists){
          that.setData({
            info:[...that.data.info,res.data.data]
          })
        }
      }else console.log('错误',res.data)
    }
  })
},
// 自定义函数：将 UTC 时间转为中国时间（UTC+8）
convertToChinaTime:function(utcTime) {
  const date = new Date(utcTime);
  date.setHours(date.getHours()); // 调整时区为 UTC+8（中国标准时间）
  return this.formatDate(date);
},
// 格式化日期函数：将 Date 对象格式化为 'YYYY-MM-DD HH:mm:ss' 格式
formatDate:function(date) {
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const day = String(date.getDate()).padStart(2, '0');
  const hours = String(date.getHours()).padStart(2, '0');
  const minutes = String(date.getMinutes()).padStart(2, '0');
  const seconds = String(date.getSeconds()).padStart(2, '0');
  
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
},


// 点赞处理函数
onLike: function(e) {
  var that =this
  const order_id = e.currentTarget.dataset.id; // 获取当前点击的帖子ID
  wx.request({
    url: 'http://hotel.ttt:3007/api/uplike',
    method:'POST',
    data:{
      order_id
    },
    success(res){
      if(res.data.success){
        console.log(res.data);
      }
      
      else console.log(res.data)
    }
  }) 
},
showCommentInput:function(e){
  var that =this
  let id=e.currentTarget.dataset.id
  // 使用map修改id为2的对象的price属性
  let updatedArray = that.data.reviews.map(item => {
    if (item.order_id === id) {
      return { ...item, showCommentInput: !item.showCommentInput};  // 创建新对象，修改price属性
    }
    return item;  // 保持其他元素不变
  });
  this.setData({
    reviews:updatedArray
  })
},
onCommentInput:function(e){
  var that=this
  that.setData({
    Input:e.detail.value
  })
},
// 评论处理函数
onComment: function(e) {
  var that =this
  const order_id= e.currentTarget.dataset.id; // 获取当前点击的帖子ID
  wx.request({
    url: 'http://hotel.ttt:3007/api/InsteComment',
    method:'POST',
    data:{
      order_id, 
      comment:that.data.Input
    },
    success(res){
      if(res.data.success){
        console.log(res.data)
        that.comment()
        that.setData({
          Input:''
        })
      }
      else console.log(res.data)
    },fail(err){console.log(err)}
  })
},

comment:function() {
  var that =this
  for(var i=0;i<that.data.order_id.length;i++){
    wx.request({
      url: `http://hotel.ttt:3007/api/selComment/${that.data.order_id[i]}`,
      success(res){
           if (that.data.comment.length === 0) {
            that.setData({
              comment: [...that.data.comment, res.data.data]
            });
          } else {
            let commentExists = false;
            // 遍历 photos 数组，检查是否有相同的 order_id
            that.data.comment.forEach((r) => {
              //console.log('comment', r[0].order_id, res.data.data[0].order_id);
              if (r[0].order_id === res.data.data[0].order_id) {
                commentExists = true; // 如果找到了相同的 order_id
              }
            });
        
            // 如果没有找到相同的 order_id，则将新数据添加到 photos 数组
            if (!commentExists) {
              that.setData({
                comment: [...that.data.comment, res.data.data]
              });
            }
          }
        
          //console.log(that.data.comment); // 输出更新后的 photos 数组 
      },fail(err){console.log(err)}
    })
  }
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.comment()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getReviews()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})